For software applications to satisfy a business's or individual's needs, the applications must be installed, integrated, configured and maintained. Traditional approaches to software deployment, documentation or maintenance require the tacit knowledge and hand-on interaction of an Information Technology (IT) expert, making each software deployment difficult to automate or reproduce. This traditional approach to converting software into a useful form is expensive and time consuming, even though many useful software applications are available free and under open-source licenses.
Businesses have common operating requirements that are satisfied by software applications. For example, telephony, customer relationship management, vendor management, accounting and financial reporting are software-based systems most businesses use today. The procedures to install software for one company could be applied to another company, but for the need to integrate and customize that software into a new environment with different user lists, passwords, network settings and so on.
Along these lines, the present invention presents a new way to define, parameterize, transfer, generate and execute software installation and maintenance procedures so that a standardized installation and maintenance process may be automatically deployed into different environments.